﻿using Model.BusinessModel.InPut;
using Model.DomainModel;

namespace Infrastructure.IRepository
{
    /// <summary>
    /// 表单仓储接口
    /// </summary>
    public interface IFormRepository : IRepository<Form>
    {
        /// <summary>
        /// 根据表单名称获取数据
        /// </summary>
        /// <param name="formName">表单名称</param>
        /// <returns></returns>
        Form? GetFormByFormName(string formName);

        /// <summary>
        /// 更新数据状态
        /// </summary>
        /// <param name="input">输入模型</param>
        /// <returns></returns>
        void UpdateFormDataState(UpdateDataStateInput input);

        /// <summary>
        /// 根据部门ID,获取表单
        /// </summary>
        /// <param name="departmentId">部门id</param>
        /// <returns></returns>
        List<Form> GetFormByDepId(string departmentId);
    }
}
